package com.smarthealthcare.cost.mapper;

import java.util.List;
import com.smarthealthcare.cost.domain.Cost;
import org.apache.ibatis.annotations.Select;

/**
 * 费用列表Mapper接口
 * 
 * @author ruoyi
 * @date 2024-11-25
 */
public interface CostMapper 
{
    @Select("SELECT SUM(money) FROM cost where patient_id = #{id} and del = 0")
    public Double getTotalCost(Long id);

    @Select("update cost set cost_status = 0 where patient_id = #{patientId}")
    public void updateByPatientId(Long patientId);

    /**
     * 查询费用列表
     * 
     * @param id 费用列表主键
     * @return 费用列表
     */
    public Cost selectCostById(Long id);

    /**
     * 查询费用列表列表
     * 
     * @param cost 费用列表
     * @return 费用列表集合
     */
    public List<Cost> selectCostList(Cost cost);

    /**
     * 新增费用列表
     * 
     * @param cost 费用列表
     * @return 结果
     */
    public int insertCost(Cost cost);

    /**
     * 修改费用列表
     * 
     * @param cost 费用列表
     * @return 结果
     */
    public int updateCost(Cost cost);

    /**
     * 删除费用列表
     * 
     * @param id 费用列表主键
     * @return 结果
     */
    public int deleteCostById(Long id);

    /**
     * 批量删除费用列表
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCostByIds(Long[] ids);

    public int deleteCostByParentId(Integer parentId);
}
